import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
// 综合使用默认导入和按需导入
// import Vant, { Lazyload } from 'vant';
import 'vant/lib/index.css';
import '@/styles/index.less';
// 它会根据的手机尺寸来调整rem的基准值：html标签上的font-size
import 'amfe-flexible';
import { relativeTime } from '@/utils/date-time.js';
import {
  Tabbar,
  TabbarItem,
  Form,
  Field,
  Button,
  NavBar,
  Toast,
  Tabs,
  Tab,
  List,
  Lazyload,
  CellGroup,
  Cell,
  Icon,
  Grid,
  GridItem,
  Popup,
  Row,
  Col,
  Tag,
  Image,
  PullRefresh,
  ActionSheet,
  Divider,
  Loading,
  Search,
  Dialog,
  DatetimePicker,
  Skeleton
} from 'vant';

Vue.use(Tabbar);
Vue.use(TabbarItem);
Vue.use(Form);
Vue.use(Field);
Vue.use(Button);
Vue.use(NavBar);
Vue.use(Toast);
Vue.use(Tabs);
Vue.use(Tab);
Vue.use(List);
Vue.use(Lazyload);
Vue.use(CellGroup);
Vue.use(Cell);
Vue.use(Icon);
Vue.use(Grid);
Vue.use(GridItem);
Vue.use(Popup);
Vue.use(Row);
Vue.use(Col);
Vue.use(Tag);
Vue.use(Image);
Vue.use(PullRefresh);
Vue.use(ActionSheet);
Vue.use(Divider);
Vue.use(Loading);
Vue.use(Search);
Vue.use(Dialog);
Vue.use(DatetimePicker);
Vue.use(Skeleton);
// 测试测试
// 图片懒加载
// Vue.use(Lazyload);

Vue.config.productionTip = false;
// Vue.use(Vant);

// 全局过滤器处理相对时间
Vue.filter('relativeTime', relativeTime);

// 事件总线
// new Vue()得到一个全新的vue实例，挂载到原型对象上
Vue.prototype.$eventBus = new Vue();

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app');

// 在main.js中添加如下代码  此代码是采用的 5+ Runtime中的plus对象
document.addEventListener('plusready', function () {
  var webview = window.plus.webview.currentWebview();
  window.plus.key.addEventListener('backbutton', function () {
    webview.canBack(function (e) {
      if (e.canBack) {
        webview.back();
      } else {
        // webview.close(); //hide,quit
        // plus.runtime.quit();
        // 首页返回键处理
        // 处理逻辑：1秒内，连续两次按返回键，则退出应用；
        var first = null;
        window.plus.key.addEventListener('backbutton', function () {
          // 首次按键，提示‘再按一次退出应用’
          if (!first) {
            first = new Date().getTime();
            setTimeout(function () {
              first = null;
            }, 1000);
          } else {
            if (new Date().getTime() - first < 1500) {
              window.plus.runtime.quit();
            }
          }
        }, false);
      }
    });
  });
});
